import request from './request'

// 获取宠物护理记录列表（用户端）
export function getCareList(params) {
  const requestParams = {
    page: params.page,
    size: params.size
  }
  
  // 只在有值时添加可选参数
  if (params.petId) requestParams.petId = params.petId
  if (params.petName) requestParams.petName = params.petName
  if (params.careType) requestParams.careType = params.careType
  
  return request({
    url: '/pet-care/list',
    method: 'get',
    params: requestParams
  })
}

/**
 * 管理员查询宠物护理记录列表（支持动态查询）
 * @param {Object} params
 * @param {number} params.pageNum - 页码，默认1
 * @param {number} params.pageSize - 每页大小，默认10
 * @param {number} params.petId - 宠物ID
 * @param {string} params.petName - 宠物名称（模糊查询）
 * @param {number} params.careType - 护理类型（1=喂食，2=洗澡，3=美容，4=训练，5=其他）
 * @param {number} params.employeeId - 护理员工ID
 * @param {string} params.employeeName - 员工姓名（模糊查询）
 * @param {string} params.startDate - 护理开始日期
 * @param {string} params.endDate - 护理结束日期
 * @param {number} params.minDuration - 最短护理时长（分钟）
 * @param {number} params.maxDuration - 最长护理时长（分钟）
 * @param {number} params.status - 护理状态（1=已完成，2=进行中，3=已取消）
 * @param {string} params.orderBy - 排序字段（careDate/careTime）
 * @param {string} params.order - 排序方向（asc/desc）
 * @returns {Promise}
 */
export function getAdminCareList(params) {
  return request({
    url: '/pet-care/admin/list',
    method: 'get',
    params
  })
}

// 获取护理记录详情
export function getCareDetail(id) {
  return request({
    url: `/pet-care/detail/${id}`,
    method: 'get'
  })
}

// 添加护理记录
export function addCare(data) {
  return request({
    url: '/pet-care/create',
    method: 'post',
    data
  })
}

// 更新护理记录
export function updateCare(id, data) {
  return request({
    url: `/pet-care/update/${id}`,
    method: 'put',
    data
  })
}

// 删除护理记录
export function deleteCare(id) {
  return request({
    url: `/pet-care/delete/${id}`,
    method: 'delete'
  })
}

export default {
  getCareList,
  getCareDetail,
  addCare,
  updateCare,
  deleteCare,
  getAdminCareList
}
